//
//  CFUtility.h
//  CFFinanceProject
//
//  Created by chunfeng on 2018/4/9.
//  Copyright © 2018年 xiaowen. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface CFUtility : NSObject

/**
 *提示框,Tim添加
 */
+ (void)showTips:(NSString *)tips;

/**
 table cell
 */
+ (void)setExtraCellLineHidde:(UITableView *)tableView tabHeader:(BOOL) header tabFooter:(BOOL) footer;

/**
 获取IP地址
 
 @return <#return value description#>
 */
+ (NSString *)getIPAddress;


/**
 检测手机号
 
 @param mobileNum <#mobileNum description#>
 @return <#return value description#>
 */
+ (BOOL)validateMobile:(NSString *)mobileNum;


/**
 判断密码
 
 @param _text <#_text description#>
 @return <#return value description#>
 */
+(BOOL)CheckInput:(NSString *)_text;


/**
 限制特殊字符不能输入
 
 @param stringText <#stringText description#>
 @return <#return value description#>
 */
+(int) XZInputText:(NSString *) stringText;

/**
 判断非空
 
 @param string <#string description#>
 @return <#return value description#>
 */
+(NSString *)NSNULLString:(NSString *)string;

/**
 MD5加密
 
 @param inPutText <#inPutText description#>
 @return <#return value description#>
 */
+(NSString *) md5: (NSString *) inPutText;


/**
 风火轮加载
 
 @param _targetView <#_targetView description#>
 @param _msg <#_msg description#>
 */
+ (void)showMBProgress:(UIView *)_targetView message:(NSString *)_msg;


/**
 隐藏风火轮
 
 @param _targetView <#_targetView description#>
 */
+ (void)hideMBProgress:(UIView*)_targetView;


/**
 时间转换
 
 @param strTimestamp <#strTimestamp description#>
 @param strDateFormat <#strDateFormat description#>
 @return <#return value description#>
 */
+ (NSString *)getTimeWithTimestamp:(NSString *)strTimestamp WithDateFormat:(NSString *)strDateFormat;

/**
 *  根据目标字符判断该字符是否存在值
 *
 *  @param string 目标字符
 *
 *  @return yes->存在
 */
+ (BOOL)checkoutStringIsExistWithTargetString:(NSString *)string;

/**
 *  根据当前时间，上次请求时间判断两个时间的时间差是否大于10分钟
 *
 *  @param firstTime  当前时间
 *  @param secondTime 上次请求时间
 *
 *  @return 是否大于10分钟
 */
//+ (BOOL)checkoutTwoTimeStringVaryMoreThenTenMin:(NSString *)firstTime secondTime:(NSString *)secondTime;


/**
 *  判断是否存在表情
 */

+ (BOOL)stringContainsEmoji:(NSString *)string;

/**
 *  网络获取北京时间
 */
+ (NSDate *)getInternetDate;

/**
 *  base64编码
 */
+ (NSString *)encode:(NSString *)string;

/**
 *  base64解码
 */
+ (NSString *)dencode:(NSString *)base64String;

/**
 *  unicode转汉字
 */
+ (NSString *)replaceUnicode:(NSString *)unicodeStr;

/**
 * 汉字转unicode
 */
+(NSString *)encodeToUnicode:(NSString *)description;

//从storyBoard得到vc
+ (UIViewController *) getVC:(NSString *)vcId Storyboard:(NSString *)Storyboard;



/**
 UIAlertView 动画
 @param view <#view description#>
 */
+ (void)animationAlert:(UIView *)view;

/**
 网址拼接参数

 @param params 参数
 @param urlLink URL
 @return 新的url
 */
+(NSString *) connectUrl:(NSMutableDictionary *)params url:(NSString *) urlLink;


/**
 JSON转字典

 @param jsonString <#jsonString description#>
 @return <#return value description#>
 */
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString;


/**
 字典转字符串
 
 @param dic <#jsonString description#>
 @return <#return value description#>
 */
+ (NSString *)stringWithDictionary:(NSDictionary *)dic;

/**
  数组转字符串

 @param arr <#arr description#>
 @return <#return value description#>
 */
+(NSString *)stringWithArray:(NSArray *)arr;


/**
 字符串转数组
 @param jsonStr <#jsonStr description#>
 @return <#return value description#>
 */
+ (NSArray *)stringToJSON:(NSString *)jsonStr;

/**
 文字距离边框
 
 @param label <#label description#>
 @param text <#text description#>
 */
+ (void)setAttributeStringForPriceLabel:(UILabel *)label text:(NSString *)text;


/**
 自定义 表情字符串替换
 
 @param content 替换前的字符串
 @return 替换后的字符串
 */
+ (NSString *)getStringReplaceByMessageContent:(NSString *)content;




/**
 返回Html 标签里的 所有图片地址

 @param html 字符串
 @return 图片数组
 */
+ (NSArray *)filterImage:(NSString *)html;


/**
 获取图片验证码

 @return NSData
 */
+(UIImage *)getauthimage;


/**
 限制输入框输入的位数为11位

 @param textfield 输入框
 */
+(void)textLengthLimitbits:(UITextField *)textfield;

/**
 限制输入框输入的位数为num位
 
 @param textfield 输入框
 */
+ (void)textLengthLimitbitsNum:(UITextField *)textfield num:(NSUInteger)num;



+ (NSString *)toJson:(id)data;

/**
 获取三位随机数

 @return <#return value description#>
 */
+ (NSString *)getThreeDigitRandomNumber;

/**
 获取随机的字母加数字
 @param num 长度
 @return <#return value description#>
 */
+ (NSString *)getRandomStringWithNum:(NSInteger)num;


/**
 截取小数点后面几位

 @param price <#price description#>
 @param position <#position description#>
 @return <#return value description#>
 */
+(NSString *)notRounding:(double)price afterPoint:(int)position;



/**
 *  判断两个浮点数是否整除
 *
 *  @param firstNumber  第一个浮点数(被除数)
 *  @param secondNumber 第二个浮点数(除数,不能为0)
 *
 *  @return 返回值可判定是否整除
 */
+ (BOOL)judgeDivisibleWithFirstNumber:(CGFloat)firstNumber andSecondNumber:(CGFloat)secondNumber;



/**
获取之前之后的日期

@param day 间隔
@return 日期
*/
+ (NSString *)getDateLater:(NSInteger) day;

//获取渐变色图片
+ (UIImage*)gradientImageWithBounds:(CGRect)bounds andColors:(NSArray*)colors andGradientType:(int)gradientType;

+ (NSString *)sha1:(NSString *)input;

//给label添加中划线
+ (void)addLine:(UILabel *)marketLab;


/**
 * 根据内容设置label行宽
 */
+ (CGFloat)setTextWidthWithString:(NSString*)text height:(CGFloat)height fontSize:(NSInteger)fontSize;

+ (UIImage *)blurryImage:(UIImage *)image withBlurLevel:(CGFloat)blur;
@end
